*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:#152438;background:#eef2f7;font:16px/1.45 Arial,Helvetica,sans-serif}a{color:#004b91;text-underline-offset:3px}a:hover{color:#002b55}header{background:#003b70;color:white;padding:24px 40px;border-bottom:5px solid #83b6dc}header h1{font-size:28px;margin:0;letter-spacing:.4px}header p{margin:4px 0 0;font-size:15px;color:white}.shell{max-width:1480px;margin:auto;display:grid;grid-template-columns:245px minmax(0,1fr);gap:26px;padding:26px 28px}aside{align-self:start;position:sticky;top:20px;background:white;border:1px solid #c8d4df;padding:18px}aside strong{display:block;color:#003b70;margin-bottom:12px}aside a{display:block;padding:8px 0;border-bottom:1px solid #dbe4ec;font-size:14px}aside .active{font-weight:bold}main{min-width:0;background:white;padding:24px 26px;border:1px solid #c8d4df}section{margin:0 0 32px;scroll-margin-top:20px}h2{font-size:21px;margin:0 0 14px;padding:10px 14px;background:#003b70;color:#fff}h3{font-size:16px;line-height:1.35;margin:0 0 6px;color:#003b70}p{margin:8px 0}.source-note{color:#46566b;font-size:14px;margin-bottom:14px}.two-col,.race-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.table-wrap{max-width:100%;overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14px;font-variant-numeric:tabular-nums}th{background:#003b70;color:white;position:sticky;top:0;text-align:left;white-space:nowrap;padding:0}th button{background:transparent;color:white;border:0;padding:8px 9px;cursor:pointer;width:100%;text-align:inherit;font:inherit;font-weight:bold}th button span{font-weight:normal;font-size:12px}td{padding:7px 9px;border-bottom:1px solid #d4dfe9;white-space:nowrap}tbody tr:nth-child(even){background:#edf3f8}td.num{text-align:left}td:first-child{position:sticky;left:0;background:inherit}thead th:first-child{left:0;z-index:2}tbody tr{background:#fff}.team-results{font-size:14px}.team-results td{padding:7px 6px}.race{border:1px solid #c5d3df;padding:14px;align-self:start;scroll-margin-top:20px}.race table{font-size:14px}.race td{padding:5px 6px}.race th button{padding:6px}.race p{font-size:14px}.review{border-left:3px solid #a96800;padding:5px 8px;background:#fff4df;color:#674000;font-size:14px}footer{max-width:1480px;margin:auto;padding:0 30px 26px;color:#46566b;font-size:14px}dialog{max-width:1100px;width:90vw;max-height:85vh;border:2px solid #003b70;padding:24px;color:#152438}dialog::backdrop{background:#102b46aa}.close{float:right;padding:8px 16px;border:0;background:#003b70;color:white;font:inherit;cursor:pointer}dialog h2{margin-top:18px}dialog .table-wrap{max-height:60vh;overflow:auto}.notice{border:1px solid #cad7e3;padding:10px 14px;font-size:14px;margin:0 0 20px;background:#f1f6fb}@media(max-width:1000px){.shell{grid-template-columns:1fr}aside{position:static}.two-col,.race-grid{grid-template-columns:1fr}}@media print{aside,header,footer,.close{display:none}.shell{display:block;padding:0}main{border:0}th{position:static}.table-wrap{overflow:visible}.race{break-inside:avoid}.race-grid{display:grid;grid-template-columns:1fr 1fr}}
pre{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px}details{margin:14px 0;border:1px solid #c5d3df;padding:12px}summary{cursor:pointer;color:#003b70;font-weight:bold}.review-table td{white-space:normal;vertical-align:top}.team-results th{white-space:normal}.team-results td:nth-child(2){white-space:normal;min-width:130px}
th button:focus-visible,a:focus-visible,summary:focus-visible{outline:3px solid #e6a700;outline-offset:2px}th[aria-sort=ascending] button::after{content:" ↑"}th[aria-sort=descending] button::after{content:" ↓"}
body{background:#fff;color:#141414}header{padding:20px 32px;text-align:center;border-bottom:0}header h1{font-size:26px}header p{font-size:16px}.shell{display:block;max-width:1600px;padding:0 30px 28px}aside{position:static;border:0;border-bottom:1px solid #8ea4b8;padding:12px 0;margin-bottom:22px;background:white;display:flex;gap:6px 20px;flex-wrap:wrap}aside strong{display:none}aside a{padding:4px 0;border:0;font-size:14px}main{padding:0;border:0}.notice{padding:6px 0;border:0;border-bottom:1px solid #ccc;background:white;color:#555}.two-col{gap:44px}h2{font-size:20px;text-transform:uppercase;padding:8px 12px;margin:22px 0 14px}h3{color:#111;font-size:15px}.table-wrap{margin-bottom:10px}td{padding:4px 7px}th button{padding:5px 7px}tbody tr:nth-child(even){background:#f0f0f0}td a{color:#003b70}.team-results td{padding:4px 5px}.group-heading th{text-align:left;padding:4px;font-size:15px}.race-grid{display:block;columns:2;column-gap:48px;column-rule:1px solid #111;margin:22px 0 30px}.race{border:0;padding:0;margin:0 0 24px;break-inside:avoid;display:inline-block;width:100%}.race h3{margin:0 0 3px}.race h3 a{color:#111;text-decoration:none}.race h3 a:hover{text-decoration:underline}.race p{margin:2px 0;line-height:1.25}.race .table-wrap{margin:3px 0}.race td{padding:2px 5px;border:0}.race th button{padding:3px 5px}.race tbody tr:nth-child(even){background:white}.race td:first-child{position:static}.report-note{font-size:13px!important}.source-note{margin:6px 0 12px}.review{margin:8px 0}.race-grid .review{font-size:13px}a:focus-visible{outline:2px solid #b37b00}footer{max-width:1600px;border-top:1px solid #aaa;padding-top:12px}@media(max-width:1000px){.race-grid{columns:1}.shell{padding:0 16px 24px}.two-col{grid-template-columns:1fr}.race td{padding:3px 5px}}@media print{header{display:block;padding:0;background:white;color:black}header p{color:black}aside,.notice,.report-note,footer{display:none}main{padding:0}.race-grid{display:block;columns:2;column-gap:24px}.race{break-inside:avoid}.table-wrap{overflow:visible}th,th button{color:white!important;background:#003b70!important;print-color-adjust:exact}a{text-decoration:none;color:black}.two-col{grid-template-columns:1fr 1fr}}

table th,table td,table th button{text-align:left}
/* Desktop record-book layout: columns only where the table detail fits. */
.shell,footer{max-width:1920px;width:100%;padding-left:28px;padding-right:28px}
.columns-3,.columns-2{display:grid;gap:24px;align-items:start;grid-template-columns:repeat(3,minmax(0,1fr))}
.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.columns-3>* ,.columns-2>*{min-width:0}.home-group section{margin-bottom:12px}
.overview-table td:last-child{white-space:normal;min-width:210px}.overview-table td:nth-child(2){white-space:normal}
.home-group th button{white-space:normal}.home-group td{white-space:normal}
.athlete-seasons{margin-top:20px}.athlete-seasons th button,.podium-columns th button{white-space:normal}
.athlete-seasons td:nth-child(2),.podium-columns td:nth-child(2),.podium-columns td:nth-child(4){white-space:normal}
.podium-columns table{font-size:13px}.podium-columns td,.podium-columns th button{padding:4px}
.compact-directory>section{max-width:1080px}.compact-directory>p{max-width:1080px}
.race-summary section h2{margin-top:0}.race-summary>.race{margin-top:0}
.race-summary .review{white-space:normal}.race-grid{column-gap:36px}
main>section>h3{margin-top:22px}.source-note, .review{overflow-wrap:anywhere}
main>section>p,main>p{max-width:1200px}
table th,table td,table th button{text-align:left}h2,th,th button{color:#fff;background-color:#003b70}h2 a,th a{color:#fff}
@media(max-width:1350px){.podium-columns{grid-template-columns:repeat(2,minmax(0,1fr))}.columns-3.home-group{gap:18px}.athlete-seasons{grid-template-columns:1fr}}
@media(max-width:1000px){.columns-3,.columns-2{grid-template-columns:1fr}.shell,footer{padding-left:16px;padding-right:16px}}
@media print{.shell{padding:0}.columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}}

header .program-switch{display:inline-block;margin:5px 0 0;padding:7px 14px;border:1px solid #fff;border-radius:3px;color:#fff;font-size:14px;font-weight:700;text-decoration:none}header .program-switch:hover,header .program-switch:focus-visible{background:#fff;color:#003b70}

/* Shared Saint Joseph's branding; preserve the PDF-style statistical columns. */
.skier-bio-intro{display:flex;align-items:center;gap:24px;margin:12px 0 20px}.skier-headshot{display:block;width:136px;height:136px;flex:0 0 136px;object-fit:cover;border:4px solid #003b70;border-radius:50%;background:#fff;box-sizing:border-box}.skier-bio-summary{min-width:340px;max-width:520px}.skier-bio-summary>p{margin:0 0 12px}.skier-bio-summary .table-wrap{margin-bottom:0}
:root{--monk-blue:#0246be;--monk-dark:#002c7c}
body{background:#fff}header{background:var(--monk-blue);padding:18px 28px;text-align:left;color:#fff}
.brand-inner{max-width:1864px;margin:auto;display:grid;grid-template-columns:88px minmax(0,1fr) auto;align-items:center;gap:18px}
.brand-logo{display:block;width:88px;height:88px;background:#fff;border-radius:10px;padding:6px}.brand-logo img{display:block;object-fit:contain}
.brand-title h1{font-size:25px;letter-spacing:.2px;color:#fff}.brand-title p{color:#fff;font-size:15px;margin-top:6px}
.program-buttons{display:flex;gap:8px}.program-button{display:inline-block;padding:9px 13px;border:1px solid #fff;border-radius:5px;color:#fff;text-decoration:none;font-weight:700;font-size:14px}
.program-button.current{background:#fff;color:var(--monk-blue)}.program-button:hover,.program-button:focus-visible{background:var(--monk-dark);color:#fff}
aside{gap:7px;padding:15px 0;border-bottom:1px solid #d4dfec;margin-bottom:18px}aside a{padding:8px 12px;background:var(--monk-blue);color:#fff;border:1px solid var(--monk-blue);border-radius:5px;text-decoration:none;line-height:1.2;font-weight:700;min-height:35px}
aside a.active,aside a:hover,aside a:focus-visible{background:var(--monk-dark);color:#fff;border-color:var(--monk-dark)}
.season-buttons{display:flex;gap:7px;flex-wrap:wrap;margin:0 0 14px}.season-buttons a{border:1px solid var(--monk-blue);color:var(--monk-blue);padding:6px 15px;border-radius:4px;text-decoration:none;font-weight:700;background:#fff}
.season-buttons a[aria-current],.season-buttons a:hover,.season-buttons a:focus-visible{background:var(--monk-blue);color:#fff}
h2,th,th button{background:var(--monk-blue);color:#fff}h2 a,th a{color:#fff}.result-note,.source-link,.season-count{font-size:13px;color:#46566b;margin:7px 0 12px}.result-note a{color:#46566b}
.source-link a{display:inline-block;border:1px solid #b8c7db;padding:5px 10px;border-radius:4px;text-decoration:none}.back-top{display:block;width:max-content;margin-top:12px;border:1px solid var(--monk-blue);padding:5px 12px;border-radius:4px;text-decoration:none}
.footer-links{display:flex;gap:18px;margin-top:12px}.footer-links a{color:var(--monk-blue)}
table th,table td,table th button{text-align:left}.race-grid{column-gap:36px}#race-source-details details{scroll-margin-top:16px}#race-source-details summary{color:var(--monk-blue)}
@media print{header{background:#fff;color:#000}.brand-title h1,.brand-title p{color:#000}.program-buttons,.season-buttons,.back-top{display:none}h2,th,th button{background:#0246be!important;color:#fff!important;print-color-adjust:exact}}

/* User-approved October 4 reference: athletics title band and full-width navigation. */
:root{--monk-blue:#003b70;--monk-dark:#021f39}
body{background:#fff}header{padding:0;background:#062f55;color:#fff}
.brand-strip{background:#021f39;font-size:13px;padding:10px 28px}.brand-strip>div{max-width:1864px;margin:auto}
.brand-inner{max-width:1920px;padding:22px 28px;grid-template-columns:minmax(0,1fr) 82px;gap:16px;position:relative}
.brand-title .sport-label{font-size:15px;font-weight:700;letter-spacing:1.2px;margin:0 0 4px;color:#dae3ed}
.brand-title h1{font-size:40px;font-weight:650;letter-spacing:-.6px;line-height:1.15;margin:0}.brand-title p{font-size:16px;margin:7px 0 0}
.brand-logo{width:82px;height:82px;background:transparent;padding:3px;border-radius:0}.brand-logo img{width:76px;height:76px}
.program-buttons{grid-column:1/-1;gap:8px;margin-top:1px}.program-button{font-size:12px;padding:5px 10px;border-color:#92adbf;border-radius:3px}.program-button.current{background:#fff;color:#062f55}
body>aside{display:flex;flex-wrap:wrap;gap:3px;background:#003b70;padding:7px max(28px,calc((100vw - 1864px)/2));margin:0;border-top:1px solid #315978;border-bottom:0}
body>aside>strong{display:none}body>aside a{background:transparent;border:0;border-radius:2px;padding:9px 12px;font-size:14px;min-height:0;color:#fff}body>aside a.active,body>aside a:hover,body>aside a:focus-visible{background:#062f55;border:0;color:#fff}
.shell{display:block;padding-top:18px}h2,th,th button{background:#003b70;color:#fff}.season-buttons a{border-color:#003b70;color:#003b70}.season-buttons a[aria-current],.season-buttons a:hover{background:#003b70;color:#fff}
@media(max-width:800px){.brand-title h1{font-size:30px}.brand-inner{padding:18px 16px}.brand-strip{padding:9px 16px}body>aside{padding:7px 8px}}
@media print{body>aside,.brand-strip,.program-buttons{display:none}.brand-title h1,.brand-title p,.brand-title .sport-label{color:#000}header{background:#fff}}
